(function() {

	'use strict';

	angular.module('ielApp')
	.controller('SaidaProdutoCtrl', ['$scope', '$routeParams', '$rootScope', '$location', '$window', 'SaidaProdutoFactory', '$modal',  function($scope, $routeParams, $rootScope, $location, $window, SaidaProdutoFactory, $modal) {

		$rootScope.titulo = "Saída de Produto";
		$rootScope.activetab = $location.path();
		$rootScope.esconderHeader = true;

		SaidaProdutoFactory.listarSaida().then(function(listaDeSaida) {


			$scope.listaDeSaida = listaDeSaida;



		});

		$scope.deletar = function(id, produto) {

			SaidaProdutoFactory.deletar(id, produto);
		}

		// model de cadastro

		$scope.abrirCadastroSaidaProduto = function(){
			var modalInstance = $modal.open({
				templateUrl: 'add_saida_produto_modal',
				controller: $scope.model
			});
		};

		$scope.model = function($scope, $modalInstance, EntradaProdutoFactory){

			SaidaProdutoFactory.listarProdutos().then(function(produtos) {

				var produtosCopy =   angular.copy(produtos);


				$scope.produtos = produtosCopy;

				$scope.change = function() {
					var id =  $scope.saidaDeProduto.idProduto;

					SaidaProdutoFactory.verQuantidade(id).then(function(quantidade) {

						var quantidadeCopy =   angular.copy(quantidade);


						$scope.quantidade = quantidadeCopy;


					})

					SaidaProdutoFactory.verPreco(id).then(function(produto) {

						var produtoPrecoCopy =   angular.copy(produto);

						$scope.produtoPreco = produtoPrecoCopy;

					})

				};

			})


			$scope.cancel = function(){
				$modalInstance.dismiss('cancel');
			};
			
			

			$scope.calcular = function(precoCusto, valorUnitario, DescontoPorcentagem, qtde) {


				var valorTotalSemDesconto = valorUnitario * qtde;

				var descontoDadoPorVoce = DescontoPorcentagem;

				var descontoEmDinheiro = (DescontoPorcentagem / 100) * valorTotalSemDesconto;

				var valorTotalComDesconto = valorTotalSemDesconto - descontoEmDinheiro;

				var quantidadeDeProduto = qtde;

				var custoPorUnidade = precoCusto * qtde;

				var margemDeLucro = valorTotalComDesconto - custoPorUnidade;

				var margemDeLucroPorcentagem = (margemDeLucro / custoPorUnidade) * 100;
				
			  $scope.margemDeLucroTotalEmPorcentagem =	margemDeLucroPorcentagem;
			}

			$scope.add = function(){

				// valores que servirão como relatório em uma próxima versão

				var valorTotalSemDesconto = $scope.produtoPreco.valorUnitario * $scope.produtoPreco.qtde;

				var descontoDadoPorVoce = $scope.produtoPreco.porcentagemDesconto;

				var descontoEmDinheiro = ($scope.produtoPreco.porcentagemDesconto / 100) * valorTotalSemDesconto;

				var valorTotalComDesconto = valorTotalSemDesconto - descontoEmDinheiro;

				var quantidadeDeProduto = $scope.produtoPreco.qtde;

				var custoPorUnidade = $scope.produtoPreco.precoCusto * $scope.produtoPreco.qtde;

				var margemDeLucro = valorTotalComDesconto - custoPorUnidade;

				var margemDeLucroPorcentagem = (margemDeLucro / custoPorUnidade) * 100;

				// fim 


				SaidaProdutoFactory.salvar($scope.produtoPreco, $scope.quantidade);


				$modalInstance.dismiss('cancel');
			};

		};

		// fim do cadastro



	}]);

}());
